Depth and multi-spectral camera

ABSTRACT

A camera includes a time-of-flight illuminator configured to emit active IR light and a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band. The camera further includes a sensor array that includes a plurality of differential sensors. Each differential sensor is configured to differentially measure both 1) the active IR light, and 2) the active spectral light in each of the different spectral light sub-bands. The camera further includes an output machine operatively connected to the sensor array. The output machine is configured to output a matrix of pixels based on time-multiplexed measurements of the sensor array. Each pixel of the matrix includes 1) a depth value, and 2) a plurality of spectral values. Each of the plurality of spectral values corresponds to a spectral light sub-band of one of the plurality of spectral illuminators.

BACKGROUND

Visible light digital cameras output images that include, for each pixel, a value for each of one or more color channels (e.g., red, green, blue). Visible light cameras can output different values for a particular color channel depending on the ambient light and/or other factors. Depth cameras output images that include, for each pixel, a value indicating a distance to an object locus imaged by that pixel. Two separate cameras may be cooperatively utilized to generate depth images and visible light images of the same object, though from slightly different perspectives.

SUMMARY

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

A camera includes a time-of-flight illuminator configured to emit active IR light and a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band. The camera further includes a sensor array that includes a plurality of differential sensors. Each differential sensor is configured to differentially measure both 1) the active IR light, and 2) the active spectral light in each of the different spectral light sub-bands. The camera further includes an output machine operatively connected to the sensor array. The output machine is configured to output a matrix of pixels based on time-multiplexed measurements of the sensor array. Each pixel of the matrix includes 1) a depth value, and 2) a plurality of spectral values. Each of the plurality of spectral values corresponds to a spectral light sub-band of one of the plurality of spectral illuminators.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1C are exploded, schematic views showing aspects of an example ambient light-invariant camera.

FIGS. 2A-2C schematically show a differential sensor of a sensor array.

FIGS. 3 and 4 are timing graphs showing different example sequences of operation of different spectral illuminators of an ambient light-invariant camera.

FIG. 5 shows an example ambient light-invariant method of acquiring depth- and multi-spectral-images.

FIG. 6 shows an example computing system.

DETAILED DESCRIPTION

Images acquired concurrently from different sensor arrays may exhibit parallax, which is objectionable if the images are to be registered to each other. Beam splitting optics may be used to align two sensor arrays on the same optical axis—e.g., a sensor array for producing flat images, and an array for sensing depth values—but this approach can require tight manufacturing tolerances, add mechanical and computational complexity, have thermal stability requirements, and may reduce the signal-to-noise ratio for both flat and depth imaging by dividing the available image intensity between the two arrays.

Attempts to acquire spectral light and depth images using the same sensor array may be complicated by the different wavelength bands used by the respective imaging processes as well as due to variations in ambient light. Spectral light imaging typically uses broadband visible light, such as ambient light as the illumination source, while depth-imaging typically uses narrow-band infrared and/or near infrared light (collectively referred to herein as infrared (IR) light).

It is possible to use a single matrix of image sensors to measure both spectral and IR light by incorporating a specialized array of filter elements arranged in registry with the sensors of the imaging sensor. Such a filter array may include a repeated tiling of subarrays having spectral-transmissive, IR-blocking elements as well as IR-transmissive, spectral-blocking elements. A disadvantage of this approach is that both spectral and IR images are acquired on less than the full area of the sensor array, which decreases both the resolution and the signal-to-noise ratio for both spectral and IR light.

A spectral light image may be biased by ambient light present when the spectral light image is acquired. In particular, ambient light may include a combination of different sub-bands of light in the electromagnetic spectrum (and/or lack different sub-bands of light). Further, the amount of light in the different sub-bands of the ambient light may vary. Such variances in ambient light may bias the appearance of a subject in a spectral light image such that the spectral light image does not reflect the real spectral signature of the subject.

Accordingly, the present description is directed to a multi-spectral camera that overcomes the issues noted above and provides depth and true spectral reflectivity of a subject. The approaches described below are less variant to ambient light.

A camera according to the present disclosure acquires depth images under active, narrow-band IR illumination. Furthermore, the camera acquires, for a plurality of different spectral light sub-bands, spectral light images under active spectral light illumination in the corresponding spectral light sub-band. Both the depth images and the spectral light images are acquired on the same sensor array, which is operated in a time multiplexed manner. The camera uses the depth images to accurately calculate a backscattering (albedo) coefficient for a subject in each of the sub-bands of spectral light in order to accurately determine a true spectral signature of the subject that is not biased by ambient light.

In this disclosure, the term ‘spectral’ light applies generally to the portion of the electromagnetic spectrum ranging from the ultraviolet to near IR, and thus includes visible light. The term ‘visible’ is applied to the portion of the electromagnetic spectrum from about 400 to about 700 nanometers (nm. Wavelengths referred to as ‘infrared’ (IR) include so called near-infrared (NIR) wavelengths of about 850 nm. Depth measurements may be taken using IR light, including NIR light, or any other suitable wavelength.

FIGS. 1A-1C shows aspects of an example camera 100. The term ‘camera’ refers herein to any imaging component having at least one optical aperture and sensor array configured to image a scene or subject 102. Camera 100 includes a sensor array 104 of individually addressable differential sensors 106. In some implementations, the sensors may be complementary metal-oxide semiconductor (CMOS) elements, but other suitable architectures are envisaged as well. Each sensor is responsive to light over a broad wavelength band. For silicon-based sensors, the wavelength response may range from 300 to 1100 nm, for example. Sensor array 104 is schematically illustrated with only twenty-five differential sensors 106 for simplicity, although there is no theoretical limitation to the number of differential sensors 106.

Microlens array 108 optionally may be arranged directly over sensor array 104. Microlens array 108 includes a plurality of microlens elements 110. Each microlens element 110 of microlens array 108 may be registered to a differential sensor 106 of the sensor array 104. When included, microlens array 108 may provide a larger effective fill factor at each of the sensors, for increased collection efficiency and reduced cross-talk between pixels.

Switchable filter 112 optionally may be arranged over sensor array 104, so as to optically cover the sensor array. When included, the switchable filter 112 is switchable electronically between different light-filtering states. In each light-filtering state, the switchable filter 112 transmits light in a particular sub-band and blocks light outside of the sub-band from reaching all differential sensors 106 of the sensor array 104. Blocked light may be absorbed, reflected, and/or scattered by the switchable filter 112, depending on the implementation. The switchable filter 112 may increase a signal-to-noise ratio of IR images and spectral light images acquired by the sensor array 104. The switchable filter 112 may include two or more light filtering states. In one filtering state, the switchable filter 112 may transmit IR light and block light outside of the IR band (e.g., visible light). In another filtering state, the switchable filter 112 may transmit spectral light and block light outside of the spectral sub-band (e.g., IR light). In some implementations, the switchable filter 112 may be configured to switch between a plurality of filtering states that each correspond to a different spectral light sub-band. In each light-filtering state, the switchable filter 112 may be configured to transmit light in a spectral light sub-band and block light outside of the spectral light sub-band (e.g., spectral light in other spectral sub-bands). The switchable filter 112 may switch between any suitable number of different light-filtering states to transmit any suitable sub-band(s) of light while blocking light outside of the sub-band(s). Example sub-bands that correspond to the different light-filtering states of the switchable filter include deep blue (460 nm), blue (470 nm), true green (528 nm), yellow (587 nm), amber (617 nm), red (625 nm), hyper-red (645 nm), far-red (730 nm), and near IR (810 nm).

The switchable filter 112 may include any suitable type of filter that transmits a narrow-band of light without significantly reducing the intensity of the in-band signal received by the sensor array. In one example, the switchable filter may include a plurality of liquid crystal layers.

A time-of-flight illuminator 114 is configured to emit active IR light to illuminate the subject 102. In one example, the time-of-light illuminator 114 includes an IR laser configured to emit IR light. In some implementations, the time-of-light illuminator 114 optionally may include a diffuser covering a field of illumination of the time-of-flight illuminator 114.

A plurality of spectral illuminators 116 (e.g., 116A, 116B, 116C, 116D, 116E, 116F) are each configured to emit active spectral light to illuminate the subject 102 in a different spectral light sub-band. Each of the spectral illuminators may be individually controllable—e.g., a single spectral illuminator may be activated while the other spectral illuminators remain deactivated. The plurality of spectral illuminators 116 may take any suitable form. In one example, the spectral illuminators 116 include light emitting diodes configured to emit spectral light. There is not a theoretical limit on the number of spectral illuminators that may be used, nor on the spectral-light sub-bands that each spectral illuminator may be configured to emit. In one example implementation, a camera may include, in addition to the IR source, six spectral illuminators respectively configured to emit deep blue (460 nm), blue (470 nm), true green (528 nm), yellow (587 nm), amber (617 nm), and red (625 nm). In an example implementation, each spectral illuminator may be may have a full width at half maximum (FWHM) of 20 nm, and a field of illumination (FOI) of 80 degrees. While not required, the camera 100 typically includes more than three spectral illuminators. In some implementations, the spectral illuminators may emit light in other sub-bands, such as hyper-red, near IR, or IR.

Electronic controller 118 may include a logic machine and associated storage machine. The storage machine may hold instructions that cause the logic machine to enact any operation, algorithm, computation, or transformation disclosed herein. In some implementations, the logic machine may take the form of an application-specific integrated circuit (ASIC) or system-on-a-chip (SoC), in which some or all of the instructions are hardware- or firmware-encoded. Electronic controller 118 includes a time-of-flight controller machine 120, a spectral controller machine 122, and an output machine 124. Machines 120, 122, 124 may be implemented as separate physical hardware and/or firmware components or incorporated into a single hardware and/or firmware component.

The time-of-flight controller machine 120 is configured to repeatedly (e.g., periodically) activate the time-of-flight illuminator 114 and synchronously address the differential sensors 106 of sensor array 104 to acquire IR images. In the example shown in FIG. 1A, at time T₀, the time-of-flight controller machine 120 activates the time-of-flight illuminator 114 to illuminate the subject 102 with active IR light 126 and addresses the differential sensors 106 of sensor array 104 in synchronicity. IR light 126′ reflects from the subject 102 back to the camera 100 and is incident on the differential sensors 106 of the sensor array 104 for IR image acquisition. Note that the time-of-flight controller machine 120 may acquire a plurality of IR images in the process of acquiring a depth map.

FIG. 1B shows camera 100 measuring a spectral light sub-band emitted by a first spectral illuminator 116A at time T₁. The spectral controller machine 122 is configured to sequentially activate the plurality of spectral illuminates 116 one at a time and synchronously address the differential sensors 106 of sensor array 104. The spectral controller machine 122 may be configured to, for each spectral image acquisition, modulate the frequency of the spectral illuminators 116 in the 100 kilohertz (Khz) to low megahertz (MHz) domain in order to differentially measure the active spectral light and ambient light.

In the example shown in FIG. 1B, at time T₁, the spectral controller machine 122 activates a first spectral illuminator 116A to illuminate the subject 102 in spectral light 128 in a sub-band (e.g., blue) of the spectral illuminator 116A, and addresses the differential sensors 106 of sensor array 104. Spectral light 128′ reflects from the subject 102 back to the camera 100 and is incident on the exact same differential sensors 106 used to measure the time-of-flight depth to object 102. In FIG. 1B, the same differential sensors are used for spectral light image acquisition in the spectral light sub-band (e.g., blue) of the spectral illuminator 116A.

Further, as shown in FIG. 1C, at time T₂, the spectral controller machine 122 activates a second spectral illuminator 116B to illuminate the subject 102 with spectral light 130 in a sub-band (e.g., green) of the spectral illuminator 116B, and addresses the exact same differential sensors 106 of sensor array 104. Spectral light 130′ reflects from the subject 102 back to the camera 100 and is incident on the differential sensors 106 of the sensor array for spectral light image acquisition in the sub-band (e.g., green) of the spectral illuminator 116B. The spectral controller machine 122 may sequentially activate the plurality of spectral illuminators 116 one at a time in synchronicity with the sensor array 104 to acquire spectral light images in each of the plurality of sub-bands of the spectral illuminators 116.

FIGS. 2A, 2B, and 2C are cross-sectional views showing aspects of an example differential sensor 106 of sensor array 104 that may be implemented in an ambient light-invariant, multi-spectral ToF camera, such as the camera 100 shown in FIG. 1. The differential sensor 106 includes first and second polysilicon gates (PG A, PG B) 202A, 202B. The polysilicon gates 202A are energized according to clock signal Clk_A and polysilicon gates 202B are energized according to clock signal Clk_B. The two clock signals are substantially complementary (e.g., Clk_A and Clk_B have 50% duty cycles that are 180 degrees out of phase).

When activated based on the clock signals, the polysilicon gates 202A, 202B create electric fields that respectively attract and collect photoelectric charges in different respective regions 204A, 204B of the differential sensor 106 corresponding to the different polysilicon gates based on the arrival time under the polysilicon gate oxide in the region 204A, 204B. In particular, collected photoelectric charges remain under the gate where the photoelectric charges are initially collected and ultimately diffuse slowly by self-repulsion under each polysilicon gate to a collection node. A p-type doped area 206 between the different regions creates a potential barrier that ensures charges collected by one polysilicon gate do not transfer to an adjacent polysilicon gate even if one is at a higher potential.

In FIG. 2A, both of the clock signals Clk_A and Clk_B are biased to a low voltage such that the polysilicon gates 202A, 202B collect little or no photoelectric charge in the regions 204A, 204B. In FIG. 2B, clock signal Clk_A is biased to a high voltage and Clk_B is biased to a low voltage. When the Clk_A goes high, the polysilicon gates 202A become energized and photoelectric charge is collected in region 204A as indicated by the electric field lines. The electric field lines run tangent to the boundary of region 204A, so charge does not transfer from region 204A to region 204B. Also, since Clk_B is biased low, the polysilicon gates 202B are not energized, and thus minimal photoelectric charge is collected in region 204B. In FIG. 2C, clock signal Clk_B is biased to a high voltage and Clk_A is biased to a low voltage. When the Clk_B goes high, the polysilicon gates 202B become energized and photoelectric charge is collected in region 204B as indicated by the electric field lines. The electric field lines run tangent to the boundary of region 204B, so charge does not transfer from region 204B to region 204A. Also, since Clk_A is biased low, the polysilicon gates 202A are not energized, and thus minimal photoelectric charge is collected in region 204A.

The differential sensor 106 is configured to collect and assign photoelectric charge in synchronicity with modulation of clock signals Clk_A and Clk_B. The photoelectric charge assignment (classification to PG A or B) in the differential sensor 106 occurs simultaneously with charge collection under the polysilicon gates 202A, 202B, and therefore does not require the additional step of shifting charges from one gate to another gate. A differential measurement may be performed during a single integration/readout cycle. In one example, the differential spectral measurement can be performed by synchronously activating a designated spectral illuminator within the 50% time period when the polysilicon gates 202A are energized to collect photoelectric charge from the active illumination in the region 204A. Additionally, the ambient light measurement can be performed by energizing the polysilicon gates 202B while the designated spectral illuminator is deactivated to collect photoelectric charge from the ambient light in the region 204B. The photoelectric charge collected by the region 204B (i.e., the amount of ambient light) is subtracted from the photoelectric charge collected by the region 204A (i.e., the amount of active light and ambient light) to determine a differential measurement in which the ambient light bias is removed from the measurement of the active illumination.

Such operation allows for the same sensor array to be used to measure active light across a broad spectrum including ultraviolet, visible, NIR, and IR light. Further, the differential pixels 106 may reduce system noise because only one read operation is required to perform the differential measurement. Additionally, integration time may be reduced for the differential pixel 106, because the spectral illuminators (and/or IR source) may be pulsed above an operational limit for a short period of time provided that the average time envelope is not exceeded. Moreover, because a single shortened integration period may be used, the total amount of ambient light collected during the integration period may be reduced (e.g., by half). In other ToF camera implementations that do not include sensor arrays of differential sensors, additional clock cycles may be required to perform a differential measurement. While differential sensors provide the advantages described herein, it will be appreciated that any suitable type of sensor array, including non-differential sensor arrays, may be implemented in the camera for spectral image acquisition.

The term ‘address’ as applied to differential sensors 106 of sensor array 104 may have a somewhat different meaning depending on the imaging mode described. For flat-imaging—for spectral light including both visible and IR light—addressing the differential sensors 106 may include integrating the intensity of active light in the sub-band emitted from the designated spectral (or IR) illuminator and received at each differential sensor 106 and associating the integrated intensity of the active light in the sub-band with the portion of the image corresponding to that differential sensor.

For depth imaging, the differential sensors 106 may be addressed differently. Here, addressing the differential sensors may include resolving a phase offset from each sensor relative to the modulated intensity of the IR light. The phase offset, optionally converted into the depth domain, may be associated with the portion of the image corresponding to the differential sensor addressed. In other words, the time-of-flight controller machine 120 may be configured to determine a depth value for each differential sensor of the sensor array. In some implementations, a series of IR image acquisitions (e.g., 6-9) in rapid succession may be used to obtain the phase offset. In combination depth- and flat-imaging applications, both of the above addressing modes may be used in a multiplexed manner.

The phase-discriminating time-of-flight (ToF) approach described above is one of several depth-imaging technologies encompassed by this disclosure. In general, a depth-imaging camera may be configured to acquire one or more depth maps of a scene or subject. The term ‘depth map’ refers to an array of pixels registered to corresponding regions (Xi, Yi) of an imaged scene, with a depth value Zi indicating, for each pixel, the depth of the corresponding region. ‘Depth’ is defined as a coordinate parallel to the optical axis of the camera, which increases with increasing distance from the camera. The term ‘depth video’ refers herein to a time-resolved sequence of depth maps. In ToF implementations, the illumination source—an IR emitter—may project pulsed or otherwise modulated IR illumination towards the subject. The sensor array of the depth-imaging camera may be configured to detect the phase offset between the illumination reflected back from the subject and the modulated emission. In some implementations, the phase offset of each sensor may be converted into a pixel-resolved time-of-flight of the pulsed illumination, from the illumination source to the subject and then to the array. ToF data may then be converted into depth data.

The term ‘spectral light image’ refers to a matrix of pixels registered to corresponding regions (Xi, Yi) of an imaged scene, with a spectral value indicating, for each pixel, the spectral signature of the corresponding region in the particular spectral light sub-band. For acquiring the spectral light images in each of the sub-bands (e.g., for a multi-spectral image), the spectral controller machine 122 is configured to determine a spectral value for each of the differential sensors based on the depth value and a differential measurement of active spectral light and ambient light for the differential sensor.

The depth and multispectral data acquired by the camera 100 may be used to fit a neighborhood of pixels to a regular surface (e.g., Lambertian plane), and solve the backscattering (albedo) coefficient for each of the sub-bands in order to calculate a spectral signature of the surface that is ambient light-invariant and can be robustly classified. In such calculations, the depth data may be used to account for a reduction in light intensity due to optical transmission of the light from the light source (ToF illuminator 114 or spectral illuminators 116) to the subject 102.

In one example, the spectral signature can be calculated using an optical mathematical model that includes the image sensor, L spectral illuminators, and a subject being spectrally classified. According to the optical model, the image sensor (m×n) includes a thin lens having an optical area Ai, a focal length f, and the average optical transmission for the spectral illuminators is characterized as T_(O)(λL). The matrix detector is characterized by the pixel size Ad, an average Quantum Efficiency for the L band QE(λL), and an integration time Δτ. The L narrowband, spectral illuminators can be characterized by their spectral radiant intensity I_(L)(λ _(L); i, j) with an emission time long enough to be considered ergodic, where I_(L)(λ _(L)) is the average central wavelength radiant intensity, for each spectral illuminator. The subject can be modeled as a Lambertian plane, characterized by its normal {circumflex over (n)}P(i, j), and its average distance relative to the sensor

(i, j), and ρ(λ, L) the average spectral signature for the sub-band for the spectral illuminator.

According to the optical model, the luminous flux Δϕ_(P)(λL; i, j) on the surface patch subtended by the pixel (i, j), on the Lambertian plane using the illuminator L can be calculated using Equation 1:

$\begin{matrix} {{{\Delta\varphi}_{P}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)} = {{I_{L}\left( {\overset{\_}{\lambda}}_{L} \right)}\frac{A_{D}\left( {i,j} \right)}{{\overset{\_}{d}}^{2}\left( {i,j} \right)}}} & {{Equation}\mspace{14mu} 1} \end{matrix}$

The outgoing radiance L_(L)(λ _(L); i, j) from the surface patch A_(D)(i, j) can be calculated using Equation 2:

$\begin{matrix} {{L_{L}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)} = {\frac{\rho \left( {\overset{\_}{\lambda}}_{L} \right)}{\pi}\frac{{{\Delta\varphi}P}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)}{A_{D}\left( {i,j} \right)}}} & {{Equation}\mspace{14mu} 2} \end{matrix}$

The amount of light collected by the camera optics can be calculated using Equation 3:

$\begin{matrix} {{{\Delta\varphi}_{O}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)} = {{L_{L}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)}\frac{{A_{D}\left( {i,j} \right)}A_{I}}{{\overset{\_}{d}}^{2}\left( {i,j} \right)}}} & {{Equation}\mspace{11mu} 3} \end{matrix}$

By the principle of the conservation of power, the amount of light that is collected by the detector (i, j) is equivalent to the amount of light collected by the camera optics, except for the attenuation produced by optical transmission of the light T_(O)(λ _(L)), therefore Equation 4 can be used to calculate the light collected by the detector (i, j):

Δϕ_(d)(λ _(L) ;i,j)=T _(O)(λ _(L))Δϕ_(O)(λ _(L) ;i,j)  Equation 4:

The number of photons detected by the detector for the illuminant L can be calculated using Equation 5, where h is the Planck constant, and c is the speed of light:

$\begin{matrix} {{N_{d}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)} = {{{QE}\left( {\overset{\_}{\lambda}}_{L} \right)}\frac{{\overset{\_}{\lambda}}_{L} \cdot {\Delta\tau}}{h \cdot c}{{\Delta\varphi}_{d}\left( {{{\overset{\_}{\lambda}}_{L};i},j} \right)}}} & {{Equation}\mspace{14mu} 5} \end{matrix}$

The differential sensors of the sensor array enable the ambient light invariant calculation of the spectral signature p (λL). The sensor array may operate in environments in which parasitic ambient light is present. In order to minimize the effect of the ambient light on the determination of the spectral value, a differential measurement of the active spectral light and the ambient light may be performed. In one example, the spectral illuminator is turned on within a 50% time period in which the first region (i.e., A half) of the differential sensor 106 is activated. Further, the second region (i.e., the B half) of the differential sensor is activated during the other 50% time period in which the spectral illuminator is turned off. The measurement of the photons collected by the B region is subtracted from the measurement of the photons collected by the A region to produce the differential measurement of the active illumination in the sub-band of the spectral illuminator with the ambient light canceled out. The number of photons due to the ambient light can be assessed in a very similar way using the Spectral irradiance E_(a)(λ). The spectral power Δϕ_(A)(λ; i, j) on the surface patch A_(D)(i, j) can be calculated using Equation 6:

Δϕ_(A)(λ;i,j)=A _(D)(i,j)E _(a)(λ)  Equation 6:

The outgoing radiance due to the ambient light can be calculated using Equation 7:

$\begin{matrix} {{L_{A}\left( {{\lambda;i},j} \right)} = {\frac{\rho \left( {\overset{\_}{\lambda}}_{L} \right)}{\pi}\frac{{\Delta\varphi}_{A}\left( {{\lambda_{L};i},j} \right)}{A_{D}\left( {i,j} \right)}}} & {{Equation}\mspace{14mu} 7} \end{matrix}$

The amount of spectral power collected by the pixel can be calculated using Equation 8:

$\begin{matrix} {{{\Delta\varphi}_{A}\left( {{\lambda;i},j} \right)} = {{T_{O}(\lambda)}{L_{A}\left( {{\lambda;i},j} \right)}\frac{{A_{D}\left( {i,j} \right)}A_{I}}{{\overset{\_}{d}}^{2}\left( {i,j} \right)}}} & {{Equation}\mspace{14mu} 8} \end{matrix}$

The number of photons due to the ambient light can be calculated using Equation 9:

$\begin{matrix} {{N_{A}\left( {i,j} \right)} = {\int_{- \infty}^{\infty}{{{QE}(\lambda)}\frac{\lambda \cdot {\Delta\tau}}{h \cdot c}{{\Delta\varphi}_{A}\left( {{\lambda;i},j} \right)}d\; \lambda}}} & {{Equation}\mspace{14mu} 9} \end{matrix}$

The two measurements for the pixel may produce a different number of photons, because during the detection process a certain amount of shot noise is added as shown in Equation 10. With a suitably large number of photons the shot noise (ignoring system noise) can be considered as gaussian and it can be characterized by its variance ΔN_(A)(i, j) and ΔN_(d)(i, j).

ON: {tilde over (N)}_(ON)(i,j)=N _(A)(i,j)+N _(d)(i,j)+Δ[(N _(A)(i,j)+N _(d)(i,j)]

OFF: {tilde over (N)}_(off)(i,j)=N _(A)(i,j)+ΔN _(A)(i,j)  Equation 10:

Accounting for the amount of noise, the number of photoelectrons can be calculated due to the illuminator L by using Equation 11:

ΔÑ _(D) =N _(d)(i,j)+Δ[(N _(A)(i,j)+N _(d)(i,j)]−ΔN _(A)(i,j)  Equation 11:

Finally, the estimation of the spectral signature {tilde over (ρ)}(λ _(L)) can be calculated using Equation 12:

$\begin{matrix} {{\overset{\sim}{\rho}\left( {\overset{\_}{\lambda}}_{L} \right)} = \left( {{\Delta {\overset{\sim}{N}}_{D}} + {\left\{ {{{\Delta N}_{A}\left( {i,j} \right)} - {\Delta\left\lbrack \left( {{N_{A}\left( {i,j} \right)} + {N_{d}\left( {i, j} \right)}} \right\rbrack \right\}}} \right) \frac{\pi {{{\overset{\_}{d}}^{4}\left( {i,j} \right)} \cdot h \cdot c}}{{I_{L}\left( {\overset{\_}{\lambda}}_{L} \right)}{{A_{D}\left( {i,j} \right)} \cdot A_{I} \cdot {\overset{\_}{\lambda}}_{L} \cdot {\Delta\tau} \cdot {{QE}\left( {\overset{\_}{\lambda}}_{L} \right)}}}}} \right.} & {{Equation}\mspace{14mu} 12} \end{matrix}$

It will be appreciated that the above is provided as one example, and the spectral signature or spectral value can be calculated using any suitable mathematical model.

Continuing with FIG. 1, the output machine 124 is configured to output a matrix of pixels 132. Each pixel in the matrix includes the depth value (Z) and the spectral value (e.g., SV1, SV2, . . . SV6) for each of the spectral light sub-bands of the plurality of spectral illuminators 116 of the camera 100. The output machine 124 may be configured to output the matrix of pixels 132 in any suitable form. In some examples, the output machine 124 may output the matrix of pixels 132 as a data structure in which each element of the matrix corresponds to a different pixel, and each element of the matrix includes an array of values corresponding to the depth value and the spectral values for that pixel. Note that a spectral value for the IR light sub-band may be determined for each differential sensor in the process of determining the depth value, and thus each pixel in the matrix may include a spectral value for the IR light sub-band.

In some implementations, the time-of-flight illuminator may be activated repeatedly (e.g., periodically) to determine the depth of a subject. For example, a series of IR image acquisitions (e.g., 9) may be used to obtain a phase offset from which depth is derived. Additionally, each of the spectral illuminators may be activated in order to acquire spectral data in each of the different sub-bands of spectral light corresponding to the different spectral illuminators.

The spectral controller machine 122 may be configured to control activation of each of the plurality of spectral illuminators to acquire spectral images in the different sub-bands for the spectral illuminators. Similarly, the time-of-flight controller machine 120 may be configured to control activation of the ToF illuminator to acquire IR images. Activations of the ToF illuminator and the spectral illuminators may be set cooperatively such that ToF measurements and spectral measurements can be performed without interference from other illuminators. In some implementations, each of the plurality of spectral illuminators may be activated less frequently than the time-of-flight illuminator (e.g., 1 activation of each spectral illuminator for every 6-9 activations of the time-of-flight illuminator).

FIGS. 3 and 4 are timing graphs showing different example timing strategies for the camera 100 shown in FIG. 1. Note that the timing graphs depict only activation and deactivation times of the different illuminators. It will be appreciated that parameters of the light (e.g., frequency, amplitude) may be modulated within each activation/deactivation cycle for the different illuminators. For example, during each activation and/or across two or more successive activations, the ToF illuminator may modulate the frequency of IR illumination.

In an example shown in FIG. 3, the ToF illuminator is activated on a periodic basis with a 33% duty cycle. The period is repeated for six activations (e.g., to acquire six IR images) in order to determine the depth of an imaged subject. Furthermore, in the segments of the periods where the ToF illuminator is deactivated, the spectral illuminators are sequentially activated to determine spectral values for the subject in the different sub-bands corresponding to the different spectral illuminators. In other words, a different spectral illuminator is activated each time the ToF illuminator is deactivated. As such, the activations of the different spectral illuminators are interleaved with the activations of the ToF illuminator. This example sequence of operation may advantageously space apart the activations of the ToF illuminator such that the ToF illuminator may be allowed to maintain a suitable operating temperature without overheating.

In another example shown in FIG. 4, the ToF illuminator is activated on a periodic basis with a 66% duty cycle. The period is repeated for nine activations (e.g., to acquire nine IR images) in order to determine the depth of an imaged subject. In this sequence of operation, the activations of the ToF illuminator occur rapidly in succession in a first period while the plurality of spectral illuminators remain deactivated. Once the ToF illuminator has completed the six activations, the spectral illuminators are sequentially activated while the ToF illuminator remains deactivated in a second period. The two periods may be alternately repeated to determine the depth and spectral values for the subject in the different sub-bands corresponding to the different spectral illuminators.

It will be appreciated that the ToF illuminator and the plurality of spectral illuminators may be activated according to any suitable timing strategy.

FIG. 5 is a flowchart for an example ambient light-invariant, combination depth- and multi-spectral-image acquisition method 500. For example, method 500 may be enacted by electronic controller 118 of camera 100.

At 502 of method 500, a ToF illuminator of a camera is activated to illuminate a subject with active IR light. At 504 of method 500, each differential sensor of a sensor array of the camera is addressed to measure active IR light emitted from the time-of-flight illuminator and reflected from the subject back to each differential sensor. At 506 of method 500, a depth value is determined for each differential sensor based on a time of flight of the active IR light. In phase-sensitive ToF implementations, the depth value may be resolved based on a phase offset from each sensor element relative to ToF illuminator modulation. In some implementations, each sensor element may be addressed several times to acquire a single-phase capture. At 508 of method 500, it is determined whether spectral values have been determined for sub-bands of all of a plurality of spectral illuminators of the camera. If spectral values have been determined for the sub-bands of the plurality of spectral illuminators, then method 500 moves to 518. Otherwise, method 500 moves to 510. At 510 of method 500, a next spectral illuminator is selected to be activated in order to acquire spectral data in the sub-band for the spectral illuminator. At 512 of method 500, the spectral illuminator is activated to illuminate the subject with active spectral light in the sub-band of the spectral illuminator. At 514 of method 500, each differential sensor of the sensor array is addressed to differentially measure 1) active spectral light emitted from the spectral illuminator and reflected from the subject back to each differential sensor, and 2) ambient light. In some implementations, the differential measurement may be performed within each differential sensor by activating a first region of each differential sensor to measure the active spectral light in the sub-band reflected from the subject back to the differential sensor and activate a second region of each differential sensor to measure the ambient light. These two measurements may be performed during a single period of activation of the spectral illuminator. At 516 of method 500, for each differential sensor, a spectral value for the sub-band is determined based on the depth value and the differential measurement for the differential sensor. Method 500 returns to 508 to determine if spectral values have been determined for all of the sub-bands of the plurality of spectral illuminators. If spectral values have been determined for all of the sub-bands, then method 500 moves to 518. At 518 of method 500, a matrix of pixels is outputted. Each pixel of the matrix includes a depth value and a spectral value for each sub-band of the plurality of spectral illuminators.

In some implementations, the methods and processes described herein may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.

FIG. 6 schematically shows a non-limiting implementation of a computing system 600 that can enact one or more of the methods and processes described above. Computing system 600 is shown in simplified form. For example, computing system 600 may take the form of camera 100 or electronic controller 118 of FIG. 1.

Computing system 600 includes a logic machine 602 and a storage machine 604. Computing system 600 may optionally include a display subsystem 606, input subsystem 608, communication subsystem 610, and/or other components not shown in FIG. 600.

Logic machine 602 includes one or more physical devices configured to execute instructions. For example, the logic machine 602 may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.

The logic machine 602 may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic machine 602 may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. Processors of the logic machine 602 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic machine optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic machine 602 may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration.

Storage machine 604 includes one or more physical devices configured to hold instructions executable by the logic machine 602 to implement the methods and processes described herein. When such methods and processes are implemented, the state of storage machine 604 may be transformed—e.g., to hold different data.

Storage machine 604 may include semiconductor memory (e.g., RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. Storage machine 604 may include volatile, nonvolatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.

It will be appreciated that storage machine 604 includes one or more physical devices. However, aspects of the instructions described herein alternatively may be propagated by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for a finite duration.

Aspects of logic machine 602 and storage machine 604 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.

When included, display subsystem 606 may be used to present a visual representation of data held by storage machine 604. This visual representation may take the form of display images translating matrix of pixels 132 into a visual format perceivable by a human. As the herein described methods and processes change the data held by the storage machine, and thus transform the state of the storage machine, the state of display subsystem 606 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 606 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic machine 602 and/or storage machine 604 in a shared enclosure, or such display devices may be peripheral display devices.

When included, input subsystem 608 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity.

When included, communication subsystem 610 may be configured to communicatively couple computing system 600 with one or more other computing devices. Communication subsystem 610 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem 610 may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network. In some embodiments, the communication subsystem 610 may allow computing system 600 to send and/or receive messages to and/or from other devices via a network such as the Internet.

In an example, a camera comprises a sensor array including a plurality of differential sensors each configured to measure light over spectral and infrared (IR) bands, a time-of-flight illuminator configured to emit active IR light in an IR light sub-band, a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band, a time-of-flight controller machine configured to activate the time-of-flight illuminator to illuminate a subject with the active IR light, address each of the differential sensors to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to each of the differential sensors, and determine a depth value for each of the differential sensors based on a time of flight of the active IR light, a spectral controller machine configured to, for each of the plurality of spectral illuminators activate the spectral illuminator to illuminate the subject with active spectral light in the spectral light sub-band of the spectral illuminator, address each of the differential sensors to differentially measure the active spectral light emitted from the spectral illuminator in the spectral light sub-band and reflected from the subject back to the differential sensor and ambient light, and for each of the plurality of differential sensors, determine a spectral value for the spectral light sub-band based on the depth value and a differential measurement for the differential sensor; and an output machine configured to output a matrix of pixels, each pixel including the depth value and the spectral value for each spectral light sub-band. In this example and/or other examples, the time-of-flight illuminator may be configured to modulate the active IR light, and the time-of-flight controller machine may be configured to determine the depth value for each of the differential sensors based on a phase offset of the modulated active IR light reflected from the subject back to the differential sensors. In this example and/or other examples, the time-of-flight controller machine may be configured to, for each of the plurality of differential sensors, determine a spectral value for the IR light sub-band based on a measurement of active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensor, and the output machine may be configured to output a spectral value for the IR light sub-band. In this example and/or other examples, the time-of-flight controller machine may be configured to repeatedly activate the time-of-flight illuminator to repeatedly illuminate the subject with active IR light, for each activation of the time-of-flight illuminator, address each of the differential sensors to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors, and determine the depth value for each of the differential sensors based on the plurality of measurements of the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors. In this example and/or other examples, the spectral controller machine may be configured to interleave activations of the plurality of spectral illuminators with the activations of the time-of-flight illuminator. In this example and/or other examples, the time-of-flight controller machine may be configured to repeatedly activate the time-of-flight illuminator in a first period, and the spectral controller machine may be configured to individually activate each of the plurality of spectral illuminators in a second period different than the first period. In this example and/or other examples, the camera may include more than three spectral illuminators. In this example and/or other examples, the time-of-flight illuminator may include an IR laser configured to emit IR light. In this example and/or other examples, each of the plurality of spectral illuminators may include a light emitting diode configured to emit spectral light. In this example and/or other examples, each differential sensor may include a first region and a second region each configured to measure spectral light, wherein the spectral controller machine may be configured, for each of the plurality of spectral illuminators, to activate the first region of each of the differential sensors to measure the active spectral light emitted from the spectral illuminator in the spectral light sub-band and reflected from the subject back to the differential sensor and activate the second region of each of the differential sensors to measure the ambient light.

In an example, a depth and multi-spectral image acquisition method, the method comprises activating a time-of-flight illuminator of a camera to illuminate a subject with active IR light in an IR light sub-band, addressing each of a plurality of differential sensors of a sensor array to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to each of the differential sensors, determining a depth value for each of the differential sensors based on a time of flight of the active IR light, for each of a plurality of spectral illuminators of the camera, activating the spectral illuminator to illuminate the subject with active spectral light in a spectral light sub-band of the spectral illuminator, addressing each of the differential sensors to differentially measure the active spectral light emitted from the spectral illuminator in the spectral light sub-band and reflected from the subject back to the differential sensor and ambient light, for each of the plurality of differential sensors, determining a spectral value for the spectral light sub-band based on the depth value and a differential measurement for the differential sensor, and outputting a matrix of pixels, each pixel including the depth value and the spectral value for each spectral light sub-band. In this example and/or other examples, the time-of-flight illuminator may be configured to modulate the active IR light, and the depth value for each of the differential sensors may be determined based on a phase offset of the modulated active IR light reflected from the subject back to the differential sensors. In this example and/or other examples, the method may further comprise for each of the plurality of differential sensors, determining a spectral value for the IR light sub-band based on a measurement of active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensor, and each pixel of the matrix of pixels may include a spectral value for the IR light sub-band. In this example and/or other examples, the method may further comprise repeatedly activating the time-of-flight illuminator to repeatedly illuminate the subject with active IR light, for each activation of the time-of-flight illuminator, addressing each of the differential sensors to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors, and determining the depth value for each of the differential sensors based on the plurality of measurements of the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors. In this example and/or other examples, the activations of the plurality of spectral illuminators may be interleaved with the activations of the time-of-flight illuminator. In this example and/or other examples, the time-of-flight illuminator may be repeatedly activated in a first period, and each of the plurality of spectral illuminators may be individually activated in a second period different than the first period. In this example and/or other examples, the camera may include more than three spectral illuminators. In this example and/or other examples, the time-of-flight illuminator may include an IR laser configured to emit IR light, and each of the plurality of spectral illuminators may include a light emitting diode configured to emit spectral light. In this example and/or other examples, each differential sensor may include a first region and a second region each configured to measure spectral light, for each of the plurality of spectral illuminators, the first region of each of the differential sensors may be activated to measure the active spectral light in the spectral light sub-band for the spectral illuminator, and the second region of each of the differential sensors may be activated to measure the ambient light.

In an example, a camera comprises a time-of-flight illuminator configured to emit active IR light, a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band, a sensor array including a plurality of differential sensors each configured to differentially measure both the active IR light, and the active spectral light in each of the different spectral light sub-bands, and an output machine operatively connected to the sensor array and configured to output a matrix of pixels based on time-multiplexed measurements of the sensor array, each pixel of the matrix including a depth value and a plurality of spectral values, each spectral value corresponding to a spectral light sub-band of one of the plurality of spectral illuminators.

In an example, a camera comprises a sensor array including a plurality of sensors each configured to measure spectral light, a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band, a spectral controller machine configured to, for each of the plurality of spectral illuminator activate the spectral illuminator to illuminate the subject with active spectral light in the spectral light sub-band of the spectral illuminator, and address each of the sensors to measure the active spectral light in the spectral light sub-band emitted from the spectral illuminator and reflected from the subject back to the sensor, a depth measuring system configured to estimate, for each of the sensors, a depth value indicative of a depth to the subject, and an output machine configured to output a matrix of pixels, each pixel corresponding to one of the plurality of sensors and including a spectral value for each spectral light sub-band, each spectral value calculated based on the depth value estimated for the sensor corresponding to the pixel.

It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.

The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof. 

1. A camera comprising: a sensor array including a plurality of differential sensors each configured to measure light over spectral and infrared (IR) bands; a time-of-flight illuminator configured to emit active IR light in an IR light sub-band; a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band; a time-of-flight controller machine configured to: activate the time-of-flight illuminator to illuminate a subject with the active IR light, address each of the differential sensors to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to each of the differential sensors, and determine a depth value for each of the differential sensors based on a time of flight of the active IR light, a spectral controller machine configured to, for each of the plurality of spectral illuminators: activate the spectral illuminator to illuminate the subject with active spectral light in the spectral light sub-band of the spectral illuminator, address each of the differential sensors to differentially measure the active spectral light emitted from the spectral illuminator in the spectral light sub-band and reflected from the subject back to the differential sensor and ambient light, and for each of the plurality of differential sensors, determine a spectral value for the spectral light sub-band based on the depth value and a differential measurement for the differential sensor; and an output machine configured to output a matrix of pixels, each pixel including the depth value and the spectral value for each spectral light sub-band.
 2. The camera of claim 1, wherein the time-of-flight illuminator is configured to modulate the active IR light, and wherein the time-of-flight controller machine is configured to determine the depth value for each of the differential sensors based on a phase offset of the modulated active IR light reflected from the subject back to the differential sensors.
 3. The camera of claim 1, wherein the time-of-flight controller machine is configured to, for each of the plurality of differential sensors, determine a spectral value for the IR light sub-band based on a measurement of active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensor, and wherein the output machine is configured to output a spectral value for the IR light sub-band.
 4. The camera of claim 1, wherein the time-of-flight controller machine is configured to: repeatedly activate the time-of-flight illuminator to repeatedly illuminate the subject with active IR light, for each activation of the time-of-flight illuminator, address each of the differential sensors to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors, and determine the depth value for each of the differential sensors based on the plurality of measurements of the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors.
 5. The camera of claim 4, wherein the spectral controller machine is configured to interleave activations of the plurality of spectral illuminators with the activations of the time-of-flight illuminator.
 6. The camera of claim 4, wherein the time-of-flight controller machine is configured to repeatedly activate the time-of-flight illuminator in a first period, and wherein the spectral controller machine is configured to individually activate each of the plurality of spectral illuminators in a second period different than the first period.
 7. The camera of claim 1, wherein the camera includes more than three spectral illuminators.
 8. The camera of claim 1, wherein the time-of-flight illuminator includes an IR laser configured to emit IR light.
 9. The camera of claim 1, wherein each of the plurality of spectral illuminators includes a light emitting diode configured to emit spectral light.
 10. The camera of claim 1, wherein each differential sensor includes a first region and a second region each configured to measure spectral light, wherein the spectral controller machine is configured, for each of the plurality of spectral illuminators, to activate the first region of each of the differential sensors to measure the active spectral light emitted from the spectral illuminator in the spectral light sub-band and reflected from the subject back to the differential sensor and activate the second region of each of the differential sensors to measure the ambient light.
 11. A depth and multi-spectral image acquisition method, the method comprising: activating a time-of-flight illuminator of a camera to illuminate a subject with active IR light in an IR light sub-band; addressing each of a plurality of differential sensors of a sensor array to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to each of the differential sensors; determining a depth value for each of the differential sensors based on a time of flight of the active IR light; for each of a plurality of spectral illuminators of the camera, activating the spectral illuminator to illuminate the subject with active spectral light in a spectral light sub-band of the spectral illuminator, addressing each of the differential sensors to differentially measure the active spectral light emitted from the spectral illuminator in the spectral light sub-band and reflected from the subject back to the differential sensor and ambient light, for each of the plurality of differential sensors, determining a spectral value for the spectral light sub-band based on the depth value; and outputting a matrix of pixels, each pixel including the depth value and the spectral value for each spectral light sub-band.
 12. The method of claim 11, wherein the time-of-flight illuminator is configured to modulate the active IR light, and the depth value for each of the differential sensors is determined based on a phase offset of the modulated active IR light reflected from the subject back to the differential sensors.
 13. The method of claim 12, further comprising: for each of the plurality of differential sensors, determining a spectral value for the IR light sub-band based on a measurement of active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensor, and wherein each pixel of the matrix of pixels includes a spectral value for the IR light sub-band.
 14. The method of claim 11, further comprising: repeatedly activating the time-of-flight illuminator to repeatedly illuminate the subject with active IR light; for each activation of the time-of-flight illuminator, addressing each of the differential sensors to measure the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors; and determining the depth value for each of the differential sensors based on the plurality of measurements of the active IR light emitted from the time-of-flight illuminator and reflected from the subject back to the differential sensors.
 15. The method of claim 14, wherein the activations of the plurality of spectral illuminators are interleaved with the activations of the time-of-flight illuminator.
 16. The method of claim 14, wherein the time-of-flight illuminator is repeatedly activated in a first period, and wherein each of the plurality of spectral illuminators is individually activated in a second period different than the first period.
 17. The method of claim 11, wherein the camera includes more than three spectral illuminators.
 18. The method of claim 11, wherein the time-of-flight illuminator includes an IR laser configured to emit IR light, and wherein each of the plurality of spectral illuminators includes a light emitting diode configured to emit spectral light.
 19. The method of claim 11, wherein each differential sensor includes a first region and a second region each configured to measure spectral light, wherein for each of the plurality of spectral illuminators, the first region of each of the differential sensors is activated to measure the active spectral light in the spectral light sub-band for the spectral illuminator, and wherein the second region of each of the differential sensors is activated to measure the ambient light.
 20. A camera comprising: a time-of-flight illuminator configured to emit active IR light; a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band; a sensor array including a plurality of differential sensors each configured to differentially measure both: the active IR light, and the active spectral light in each of the different spectral light sub-bands; and an output machine operatively connected to the sensor array and configured to output a matrix of pixels based on time-multiplexed measurements of the sensor array, each pixel of the matrix including a depth value and a plurality of spectral values, each spectral value corresponding to a spectral light sub-band of one of the plurality of spectral illuminators.
 21. A camera comprising: a sensor array including a plurality of sensors each configured to measure spectral light; a plurality of spectral illuminators, each spectral illuminator configured to emit active spectral light in a different spectral light sub-band; a spectral controller machine configured to, for each of the plurality of spectral illuminators: activate the spectral illuminator to illuminate the subject with active spectral light in the spectral light sub-band of the spectral illuminator, and address each of the sensors to measure the active spectral light in the spectral light sub-band emitted from the spectral illuminator and reflected from the subject back to the sensor; a depth measuring system configured to estimate, for each of the sensors, a depth value indicative of a depth to the subject; and an output machine configured to output a matrix of pixels, each pixel corresponding to one of the plurality of sensors and including a spectral value for each spectral light sub-band, each spectral value calculated based on the depth value estimated for the sensor corresponding to the pixel. 